iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
Python

讓Python與資安共舞系列 第 12

主機狀態掃描(ARP)

  • 分享至 

  • xImage
  •  

今天要來學習的是針對目標主機的狀態進行掃描,確認主機的狀態對於網路滲透測試是相當重要的一部分,如果主機根本沒開機,那網路安全滲透測試的意義在哪?所以為了確定主機是正在執行狀態且功能正常的「活躍主機」,我們必須掃描它。
現在的網際網路通過網路通訊協定來連接,網路通訊協定就像電腦的共同語言,假設現在有一個協定(A主機跟B主機都遵守這個協定),它規定了如果A主機收到了來自B主機的「請求」資料封包,A主機就必須在一定的時間內發送「回應」的資料封包。所以建構一個「請求」然後發送給B主機,如果B主機是活躍主機,那就會收到來自它的「回應」資料封包。以下分為三種:

  1. 以ARP為基礎的活躍主機發現技術。
  2. 以ICMP為基礎的活躍主機發現技術。
  3. 以TCP為基礎的活躍主機發現技術。
  4. 以UDP為基礎的活躍主機發現技術。

ARP(位址解析通訊協定)

主要用在乙太網中,所有的主機在網際網路中通訊的時候是使用IP位址,而乙太網中通訊時使用的是硬體位址(MAC位址)。日常的使用都是使用IP位址,而大部分的網路都沒有考慮過硬體位址,那這些網路在乙太網中是如何運作的呢?就是靠ARP,這個協定用來只知道IP位址的情況去發現硬體位址。
假設主機的IP為192.168.1.1,而通訊的目標IP位址為192.168.1.2,同一網路中還有兩個IP位址,這時乙太網的結構如下圖所示:

https://ithelp.ithome.com.tw/upload/images/20240926/20169331lj1f8JfcWU.png

當主機只知道目標的IP位址而不知道目標主機的硬體位址時,就要使用乙太廣播包給網路上的美台主機發送ARP請求,格式如下:

協定類型:ARP Request(ARP請求)
源主機:192.168.1.1
目標主機IP位址:192.168.1.2
源主機硬體位址:11:11:11:11:11:11
目標主機MAC位址:ff:ff:ff:ff:ff:ff

其他三台主機收這個ARP請求資料封包後,會將自己的IP位址與封包中的目標主機IP位址相比,如果不符合,將不會做出回應。而相同IP位址的主機將會發送一個ARP回應資料封包,格式如下:

協定類型:ARP Reply(ARP回應)
源主機IP位址:192.168.1.2
目標主機IP位址:192.168.1.1
源主機硬體位址:22:22:22:22:22:22
目標主機MAC位址:11:11:11:11:11:11

當主機收到這個回應時,就會把結果放在ARP快取表中,格式為:

192.168.1.2 22:22:22:22:22:22 動態

以後主機在需要和192.168.1.2通訊時,只要查詢這個ARP快取表,找到對應的紀錄,
當目標主機與我們處於同。一乙太網時,利用ARP掃描是最好的選擇,因為這種掃描方式最快也最精準。也沒有任何安全措施會阻止ARP掃描方式。

今天的ARP介紹到這邊,明天將會介紹以ICMP為基礎的活躍主機發現技術。


上一篇
網路安全滲透測試-情報收集
下一篇
主機狀態掃描(ICMP)
系列文
讓Python與資安共舞30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言